/*******************************************************************************
 * 版权：北京润尼尔网络科技有限公司，保留所有版权<br>
 * 版本：v1.0.0<br>
 * 文件：UICompositeMenuButton.js<br>
 * 日期：2016年8月5日<br>
 * 作者: 王中山<br>
 * 功能：菜单按钮组件<br>
 * 
 * 修改记录：<br>
 * 日期 描述 更新功能<br>
 ******************************************************************************/

window.makeNamespace(window,"Rainier.UI.V2");


/**
 * 类型名称：Rainier.UI.V2.UICompositeMenuButton<br>
 * 类型功能：创建菜单按钮<br>
 */
Rainier.UI.V2.UICompositeMenuButton = Rainier.UI.V2.UIComposite.extend({
	
	NAME : 'Rainier.UI.V2.UICompositeMenuButton',
	
	/**
	 * 函数名称：Rainier.UI.UICompositeMenuButton.init<br>
	 * 函数功能：构造函数<br>
	 * 参数输入：objParentComposite  	父组件实例<br>
	 * 参数输入：objProperties		 	组件属性定义<br>
	 * {
	 * 		width		:"200px";        //设置按钮宽度
	 * 		height		:"100px";        //设置按钮高度
	 * }
	 * 异常信息：无<br>
	 */
	init : function(objParentComposite,objProperties){
		this._super(objParentComposite,objProperties);
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeMenuButton.appendEventHandler<br>
	 * 函数功能：添加事件代理<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	appendEventHandler : function(){
		this.m_aEventList = [];
		this._super();		
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeMenuButton.createComposite<br>
	 * 函数功能：创建组件<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	createComposite : function(eleParent){
		this._super(eleParent);		
		var newEle = this.CreateElement("a",this.m_objProperties.id);
		eleParent.append(newEle);
		newEle.menubutton(this.m_objProperties);
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeMenuButton.callUiMethod<br>
	 * 函数功能：添加事件代理<br>
	 * 参数输入：sMethod 方法名称
	 * 参数输入：objArgs 方法参数
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	callUiMethod : function(sMethod,objArgs){
		return this.getElement().menubutton(sMethod,objArgs);
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeMenuButton.options<br>
	 * 函数功能：返回选项属性<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：<br>
	 */
	options : function(){
		return this.getElement().linkbutton('options');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeMenuButton.resize<br>
	 * 函数功能：重设按钮尺寸<br>
	 * 参数输入：objOptions ： {width:50px, height:20px}  宽高等属性以对象形式的设置<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	resize : function(objOptions){
		this.getElement().linkbutton('resize',objOptions);
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeMenuButton.disable<br>
	 * 函数功能：使按钮不可用<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	disable : function(){
		return this.getElement().linkbutton('disable');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeMenuButton.enable<br>
	 * 函数功能：使按钮可用<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	enable : function(){
		return this.getElement().linkbutton('enable');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeMenuButton.select<br>
	 * 函数功能：选择按钮<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	select : function(){
		return this.getElement().linkbutton('select');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeMenuButton.unselect<br>
	 * 函数功能：取消选择按钮<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	unselect : function(){
		return this.getElement().linkbutton('unselect');
	},
	
	/**
	 * 函数名称：Rainier.UI.V2.UICompositeMenuButton.destroy<br>
	 * 函数功能：注销按钮<br>
	 * 参数输入：无<br>
	 * 参数输出：无<br>
	 * 函数返回：无<br>
	 * 异常信息：无<br>
	 */
	destroy : function(){
		return this.getElement().menubutton('destroy');
	},
	
	
});